Sensor data acquisition system and method based on integration of terminal and cloud

ABSTRACT

A cloud-based sensor data acquisition system includes one or more sensors configured to acquire sensor data; a first terminal configured to transmit sensor data request information to a cloud server through an access point (AP); and one or more second terminals each configured to acquire sensor data from one or more sensors on a corresponding dissemination tree received from the cloud server; and transmit the acquired sensor data to the first terminal through the AP. The cloud server is configured to, in response to receiving the sensor data request information from the first terminal, build a corresponding dissemination tree for each of one or more second terminals within a sensing range; and transmit the corresponding dissemination tree to each of the one or more second terminals within the sensing range.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit under 35 USC 119(a) of Korean PatentApplication No. 10-2011-0138653 filed on Dec. 20, 2011, in the KoreanIntellectual Property Office, the entire disclosure of which isincorporated herein by reference for all purposes.

BACKGROUND

1. Field

The following description relates to a system and a method for acquiringvarious sensor data of a real world based on integration of terminalsand a cloud.

2. Description of Related Art

A wireless sensor network is formed by a group of hundreds or thousandsof sensors that are distributed over a wide area in which no wiredinfrastructure has been built and would difficult to build for thepurpose of acquiring sensor information of nearby regions andtransmitting the acquired sensor data to other devices. In such anetwork, nodes that create sensor data are referred to as “source nodes”and a final node that receives the sensor data from one or more sourcenodes is referred to as a “sink node.” Transmission of sensor datacreated by a source node to multiple sink nodes is referred to “datadissemination,” and a data transmission path for the data disseminationis referred to as a “data dissemination tree.”

Research on mobile crowd sensing methods have been recently conducted,but the only method that has been introduced is a method for integratinga mobile terminal and sensors that can be connected by one hop to themobile terminal, in which the terminal and the sensors are managed in acentralized manner. Accordingly, the terminal is limited in its abilityto collect sensor data accurately and quickly in real time over a widearea that extends beyond a specific area within which the terminal iscapable of collecting sensor data from sensors that are one hop away.

SUMMARY

In one general aspect, a cloud-based sensor data acquisition systemincludes one or more sensors configured to acquire sensor data; a firstterminal configured to transmit sensor data request information to acloud server through an access point (AP); and one or more secondterminals each configured to acquire sensor data from one or moresensors on a corresponding dissemination tree received from the cloudserver; and transmit the acquired sensor data to the first terminalthrough the AP; wherein the cloud server is configured to, in responseto receiving the sensor data request information from the firstterminal, build a corresponding dissemination tree for each of one ormore second terminals within a sensing range; and transmit thecorresponding dissemination tree to each of the one or more secondterminals within the sensing range.

Sensing range information about the sensing range may included in thesensor data request information, or may be previously set in the cloudserver.

The cloud server may be further configured to build the correspondingdissemination tree for each of the one or more second terminals withinthe sensing range by performing a breadth-first search (BFS) for each ofthe one or more second terminals within the sensing range to minimize anumber of hops to each of a plurality of sensors.

The one or more second terminals within the sensing range may beselected from all second terminals within the sensing range inaccordance with a predefined criterion.

The predefined criterion may include any one or any combination of apurpose of avoiding an exclusive use of mobile terminal resources, astatus of a network between the first terminal and the second terminals,and a density of the first terminal and the second terminals within thesensing range.

In another general aspect, a cloud server includes a dissemination treebuilding unit configured to build a corresponding dissemination tree foreach of one or more second terminals within a sensing range in responseto sensor data request information received from a first terminal; and aterminal link unit configured to receive the sensor data requestinformation from the first terminal; and transmit the correspondingdissemination tree built by the dissemination tree building unit to eachof the one or more second terminals within the sending range.

The cloud server may further include a terminal selecting unitconfigured to select the one or more second terminals within the sensingrange for which corresponding dissemination trees are to be built fromall second terminals within the sensing range in accordance with apredefined criterion.

In another general aspect, a first terminal includes a cloud link unitconfigured to transmit sensor data request information to a cloud serverthrough an access point (AP); and a sensor data transmitting andreceiving unit configured to receive sensor data through the AP from oneor more second terminals each configured to receive a correspondingdissemination tree from the cloud server and acquire sensor data fromone or more sensors on the corresponding dissemination tree.

The cloud link unit may be further configured to receive a disseminationtree from the cloud server; and the first terminal may further include asensor link unit configured to acquire sensor data from one or moresensors on the dissemination tree received by the cloud link unit.

In another general aspect, a second terminal includes a cloud link unitconfigured to receive a dissemination tree from a cloud server; a sensorlink unit configured to acquire sensor data from one or more sensors onthe dissemination tree; and a sensor data transmitting and receivingunit configured to transmit the acquired sensor data through an accesspoint (AP) to a first terminal configured to request the acquired sensordata.

In another general aspect, a cloud-based sensor data acquisition methodincludes receiving, in a cloud server, sensor data request informationfrom a first terminal; building, in the cloud server, a correspondingdissemination tree for each of one or more second terminals within asensing range; and transmitting, in the cloud server, the correspondingdissemination tree to each of the one or more second terminals withinthe sensing range.

The building of the dissemination tree may include building thedissemination tree by performing a breadth-first search (BFS) for eachof the one or more second terminals within the sensing range to minimizea number of hops to each of a plurality of sensors.

In another general aspect, a cloud-based sensor data acquisition methodincludes transmitting, in a first terminal, sensor data requestinformation to a cloud server through an access point (AP); andreceiving, in the first terminal, through the AP, sensor data acquiredby one or more second terminals from one or more sensors on acorresponding dissemination tree that each of the one or more secondterminals has received from the cloud server.

The cloud-based sensor data acquisition method may further includereceiving, in the first terminal, a dissemination tree from the cloudserver; and acquiring, in the first terminal, sensor data from one ormore sensors on the dissemination tree received in the first terminal.

In another general aspect, a cloud-based sensor data acquisition methodincludes receiving, in each of one or more second terminals, acorresponding dissemination tree from a cloud server; acquiring, in eachof the one or more second terminals, sensor data from one or moresensors on the corresponding dissemination tree; and transmitting, ineach of the one or more second terminals, the acquired sensor datathrough an access point (AP) to a first terminal that has requested theacquired sensor data.

Other features and aspects will be apparent from the following detaileddescription, the drawings, and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating an example of a cloud-based sensor dataacquisition system.

FIG. 2 is a diagram illustrating an example of a cloud-based sensor dataacquisition system.

FIG. 3 is a diagram illustrating an example of a terminal shown in FIG.2.

FIG. 4 is a diagram illustrating an example of a cloud server shown inFIG. 2.

FIG. 5 is a flowchart illustrating a method of acquiring sensor databased on integration of a terminal and a cloud.

FIG. 6 is a flowchart illustrating in detail an example of a method ofbuilding a dissemination tree.

DETAILED DESCRIPTION

The following description is provided to assist the reader in gaining acomprehensive understanding of the methods, apparatuses, and/or systemsdescribed herein. However, various changes, modifications, andequivalents of the methods, apparatuses, and/or systems described hereinwill be apparent to one of ordinary skill in the art. Also, descriptionsof functions and constructions that are well known to one of ordinaryskill in the art may be omitted for increased clarity and conciseness.

Throughout the drawings and the detailed description, the same drawingreference numerals refer to the same elements. The drawings may not beto scale, and the relative size, proportions, and depiction of elementsin the drawings may be exaggerated for clarity, illustration, andconvenience.

FIG. 1 is a diagram illustrating an example of a cloud-based sensor dataacquisition system. A cloud-based sensor data acquisition system enablesa user of a terminal to acquire sensor data from sensors via otherterminals in association with a cloud. The sensors may be located acrossa wide area. For example, if a user who goes for a walk carrying aterminal M2 wishes to obtain route information that avoids acontaminated area, the user may link the user's terminal M2 to the cloudto acquire contamination information acquired by other nearby terminalsM1 and M3 from sensors near the terminals M1 and M3.

The cloud-based sensor data acquisition system assigns both managementof locations of the sensors and the terminals and formation of a datadissemination tree based on these locations to a cloud server, andassigns acquisition and dissemination of sensor data to each of theterminals. Accordingly, the cloud-based sensor data acquisition systemis able to acquire real-time sensor data more quickly than whenacquisition of sensor data is managed in a centralized manner.

FIG. 2 is a diagram illustrating an example of a cloud-based sensor dataacquisition system. The cloud-based sensor data acquisition systemincludes a sensor 100, a terminal 200, and a cloud server 400. Forsimplicity, only one sensor 100 and one terminal 200 are shown in FIG.2. However, the cloud-based sensor data acquisition system may include aplurality of sensors 100 and a plurality of terminals 200. The sensor100 operates as a source node to acquire sensor data, and may acquirevarious sensor data from the real world. The various sensor data mayinclude voice data, image data, temperature data, pollution level data,air composition measurement data, and any other data that can beobtained by a sensor in the real world. The sensor 100 has thecapability of connecting to the terminal 200, other terminals 200 (notshown), and other sensors 100 (not shown) using short-range wirelessconnectivity.

The terminal 200 illustrated in FIG. 2 may operate as a first terminalthat requests sensor data, and/or a second terminal that acquires sensordata from one or more sensors and transmits the acquired sensor data tothe first terminal. Thus, the terminal 200 may operate as the firstterminal, or the second terminal, or both the first terminal and thesecond terminal. In following description, the terminal 200 will bereferred to as the first terminal 200 when describing operationsperformed by the first terminal, and will be referred to as the secondterminal 200 when describing operations performed by the secondterminal.

The first terminal 200 transmits sensor data request information to thecloud server 400 through an access point (AP) 300 using long-rangewireless connectivity, receives a dissemination tree from the cloudserver 400, and acquires sensor data from one or more sensors 100 on thedissemination tree.

One or more second terminals 200 each acquire sensor data from one ormore sensors on a corresponding dissemination tree received from thecloud server 400, and transmit the acquired sensor data to the firstterminal through the AP 300.

The cloud server 400 receives sensor data request information from thefirst terminal 200, builds a corresponding dissemination tree for eachof one or more second terminals 200 within a sensing range within whicha user of the first terminal 200 wants to acquire sensor data, andtransmits the corresponding dissemination tree to each of the one ormore second terminals 200 within the sensing range. The cloud server 400also builds a dissemination tree for the first terminal 200, andtransmits the dissemination tree to the first terminal 200.

Sensing range information about the sensing range within which the userof the first terminal 200 wants to acquire sensor data may betransmitted by a user of the first terminal 200 through the firstterminal 200 as part of the sensor data request information, or may bepreviously set in the cloud server 400. The sensing range may be, forexample, a predetermined distance, such as a radius of 100 meters or 200meters, from a current location of the user or a specific region of aparticular administrative district. For example, the first terminal 200that requests the sensor data may transmit to the cloud server 400sensing range information about the sensing range by including thesensing range information in the sensor data request information.However, even when the sensor data request information includes thesensing range information, the cloud server 400 may limit the sensingrange to a specific area depending on a status of a network between theterminals 200, and/or a density of the terminals 200 within the sensingrange, and/or any other factor that makes it impossible or impracticalfor the sensing range to be the sensing range specified in the sensingrange information.

When the cloud server 400 receives the sensor data request informationfrom the first terminal 200, the cloud server 400 uses locationinformation of the sensors 100 and the terminals 200 under its controlto build a corresponding dissemination tree for each of the terminals200 within the sensing range. In this example, the cloud server 400performs a breadth-first search (BFS) to construct a dissemination treefor each of the terminals 200 within the sensing range to minimize anumber of hops to each of the sensors 100. However, this is merely anexample, and any method for building a dissemination tree known to oneof ordinary skill in the art may be used.

In greater detail, to build the dissemination tree, the cloud serverconstructs a graph for each of the terminals 200 that connects thatterminal 200 with all of the sensors 100 that are able to communicatewith that terminal 200, either directly (a one-hop connection) orindirectly via one or more other sensors 100 (a multi-hop connection).Then, a BFS is performed for each of the terminals 200 to calculate anumber of hops from each of the terminals 200 to each of the sensors 100connected to that terminal 200 in the graph for that terminal 200, andan ID of the terminal 200 having a minimum number of hops to aparticular sensor 100 and the calculated number of hops from thatterminal 200 to the particular sensor 100 are recorded in the particularsensor 100. In other words, a particular sensor 100 might be connectedto more than one terminal 200 in the graphs for those terminals 200, butthe number of hops to the particular sensor 200 might be greater for oneof those terminals 200 that for the other ones of those terminals 200.That is, the path from one of those terminals 200 to the particularsensor node 100 might be longer than the paths from the other ones ofthose terminals 200 to the particular sensor node. Performing the BFSenables the shortest path to be selected. By performing path selectionfor all of the sensors 100 in this manner, a dissemination tree fromeach sensor to one of the terminals 200 providing the shortest path isfinally established.

In one example, the cloud server 400 may build a dissemination tree foreach of some terminals 200 within the sensing range selected inaccordance with a predefined criterion from all terminals 200 within thesensing range. The predefined criterion may include any one or anycombination of a purpose of avoiding an exclusive use of mobile terminalresources, a status of a network between the terminals 200, and adensity of the terminals 200 within the sensing range. The predefinedcriterion may be previously set in the cloud server 400 and may bemanaged by the cloud server 400.

For example, a great number of terminals 200 may be densely placed in aspecific site in a crowded area, for example, where the terminals 200are mobile terminals of users attending a sporting event or concert. Inthis example, if a dissemination tree is built for each of all of theterminals 200 in the area and sensor data is acquired by all of theterminals 200 in the area, an unnecessary consumption of resources andan exclusive use of mobile terminal resources may occur. In somesituations, a network connection with particular terminals 200 may bepoor. To account for such situations, some terminals 200 may be selectedfrom all of the terminals 200 within the sensing range, anddissemination trees may be built only for the selected terminals 200.

FIG. 3 is a diagram illustrating an example of a terminal 200 shown inFIG. 2. The terminal 200 may operate as a first terminal 200 thatrequests sensor data via the cloud server 400 as described above, and/ora second terminal 200 that acquires sensor data from one or more sensorsand transmits the acquired sensor data to the first terminal 200. Thus,the terminal 200 may operate as the first terminal 200, or the secondterminal 200, or both the first terminal 200 and the second terminal200. In the following description, the terminal 200 will be referred toas the first terminal 200 when describing operations performed by thefirst terminal 200, or as the second terminal 200 when describingoperations performed by the second terminal 200.

The terminal 200 includes a cloud link unit 210, a sensor link unit 220,and a sensor data transmitting and receiving unit 230. The cloud linkunit 210 of the first terminal 200 requests sensor data via the cloudserver 400 by transmitting sensor data request information to the cloudserver 400 through the AP 300. The cloud link unit 210 of the firstterminal 200 and the second terminal 200 receives a dissemination treefrom the cloud server 400.

The sensor link unit 220 of the first terminal 200 and the secondterminal 200 receives the dissemination tree from the cloud link unit210, and acquires sensor data from one or more sensors on thedissemination tree.

The sensor data transmitting and receiving unit 230 of the firstterminal 200 receives sensor data from one or more second terminals 200through the AP 300. The sensor data is sensor data that has beenacquired by the one or more second terminals 200 from one or moresensors on corresponding dissemination trees that the one or more secondterminals 200 have received from the cloud server 400. The sensor datatransmitting and receiving unit 230 of each of the one or more secondterminals 200 transmits the acquired sensor data to the first terminal200 through the AP 300 without transmitting the acquired sensor data tothe cloud server 400. Thus, each terminal 200 is enabled to disseminatesensor data by transmitting and receiving the sensor data through the AP300 without the sensor data passing through the cloud server 400.

In addition, a dissemination tree received by the cloud link unit 210 ofthe second terminal 200 may include first terminal information about thefirst terminal 200 that has requested particular sensor data. The sensordata transmitting and receiving unit 230 of the second terminal 200identifies the first terminal 200 that has requested the particularsensor data based on the first terminal information included in thedissemination tree received by the cloud link unit 210, and transmitsthe particular sensor data to the identified first terminal 200 throughthe AP 300.

FIG. 4 is a diagram illustrating an example of a cloud server 400 shownin FIG. 2. Referring to FIG. 4, the cloud server 400 includes a terminallink unit 410 and a dissemination tree building unit 420.

The terminal link unit 410 transmits and receives a variety of data toand from the terminal 200 via the AP 300. The terminal link unit 410receives sensor data request information from the first terminal 200,and requests the dissemination tree building unit 420 to build adissemination tree for the first terminal 200 and each of secondterminals 200 within a sensing range within which a user of the firstterminal 200 wants to acquire sensor data in response to the sensor datarequest information. After each dissemination tree has been built by thedissemination tree building unit 420, the terminal link unit 410transmits the dissemination tree to a first or second terminal 200 forwhich the dissemination tree was built.

When the dissemination tree building unit 420 receives a request forbuilding a dissemination tree from the terminal link unit 410, thedissemination tree building unit 420 builds a dissemination tree for thefirst terminal 200 and each of the second terminals 200 within thesensing range according to the received sensor data request information.

In this example, sensing range information about the sensing range istransmitted by the user through the first terminal 200 as part of thesensor data request information, or is previously set in the cloudserver 400. The sensing range may be, for example, a predetermineddistance, such as a radius of 100 meters or 200 meters, from a currentlocation of the user or a specific region of a particular administrativedistrict. For example, the first terminal 200 that requests sensor datamay include sensing information about the sensing range in the sensordata request information that the first terminal transmits to the cloudserver 400. However, even when the sensor data request informationincludes the sensing range information, the cloud server 400 may limitthe sensing range to a specific area depending on a status of a networkbetween the terminals 200, and/or a density of the terminals 200 withinthe sensing range, and/or any other factor that makes it impossible orimpractical for the sensing range to be the sensing range in the sensingrange information.

The cloud server 400 includes a location information acquisition unit430. When the terminal link unit 410 receives the sensor data requestinformation from the first terminal 200, the dissemination tree buildingunit 420 controls the location information acquisition unit 430 toacquire location information of sensors 100 and terminals 200 that areunder the control of the cloud server 400. Alternatively, the locationinformation acquisition unit 430 may periodically acquire the locationinformation of the sensors 100 and the terminals 200 that are under thecontrol of the cloud server 400, and store the location information in alocation information database (not shown) for management. Thedissemination tree building unit 420 builds a dissemination tree foreach of the terminals 200 within the sensing range using the locationinformation of the sensors 100 and the terminals 200. The disseminationtree building unit 420 performs a BFS for each of the terminals 200within the sensing range to build the dissemination tree for each of theterminals 200 to minimize a number of hops to each of the sensors 100.

The cloud server 400 further includes a terminal selecting unit 440 anda policy setting unit 450. The terminal selecting unit 440 selects someterminals 200 for which a dissemination tree is to be built from allterminals 200 within the sensing range in accordance with a predefinedcriterion. The predefined criterion may include any one or anycombination of a purpose of avoiding an exclusive use of mobile terminalresources, a status of a network between the terminals 200, and adensity of the terminals 200 within the sensing range.

The policy setting unit 450 sets and manages various policies undercontrol of a manager of the cloud server 400. The policies set andmanaged by the policy setting unit 450 may include information about thenumber of terminals 200 to be selected in accordance with criteria, andinformation about a specific area to which a sensing range is to belimited depending on a status of a network between the terminals 200,and/or a density of the terminals 200 within the sensing range, and/orany other factor that makes it impossible or impractical for the sensingrange to be the sensing range specified in the sensing rangeinformation.

The terminal selecting unit 440 checks the policies set and managed bythe policy setting unit 450, and if a predefined criterion of thepolicies is satisfied, such as a status of a network between theterminals 200 satisfying a predetermined criterion, or a density of theterminals 200 within the sensing range satisfying a predeterminedcriterion, the terminal selecting unit 440 selects some terminals 200for which a dissemination tree is to be built from all terminals 200within a sensing range.

FIG. 5 is a flowchart illustrating a method of acquiring sensor databased on integration of a terminal and a cloud. The method will beexplained by referring to a first terminal 200, a cloud server 400, anda second terminal 200.

Operations performed by the first terminal 200 will now be describedwith reference to FIG. 5 in conjunction with FIG. 2.

The first terminal 200 transmits sensor data request information to thecloud server 400 through the AP 300 in operation 511. The sensor datarequest information may include sensing range information about asensing range within which a user of the first terminal 200 wants toacquire sensor data. For example, the sensing range may be a radius of100 meters or 200 meters from a current location of the user or aspecific region of a particular administrative district.

Then, the first terminal 200 receives a dissemination tree built for thefirst terminal 200 from the cloud server 400 in operation 512, andacquires sensor data from one or more sensors 100 on the disseminationtree in operation 513. The dissemination tree is built by the cloudserver 400 to enable the first terminal 200 to acquire sensor data fromone or more sensors 100 near the first terminal 200.

In operation 514, the first terminal 200 receives through the AP 300sensor data from one or more second terminals 200 that the one or moresecond terminals 200 have acquired from one or more sensors oncorresponding dissemination trees that the one or more second terminalshave received from the cloud server 400.

Operations performed by the cloud server 400 will now be described withreference to FIG. 5 in conjunction with FIG. 2.

The cloud server 400 receives sensor data request information from thefirst terminal 200 in operation 521, and builds a dissemination tree forthe first terminal 200 and each of the one or more second terminals 200within a sensing range in operation 522. Sensing range information aboutthe sensing range may be included in the sensor data request informationreceived from the first terminal 200, or alternatively, may bepreviously set in the cloud server 400. The sensing range may be, forexample, a predetermined distance, such as a radius of 100 meters or 200meters, from a current location of the user of the first 200 or aspecific region of a particular administrative district. However, evenwhen the sensor data request information includes the sensing rangeinformation, the cloud server 400 may limit the sensing range to aspecific area depending on a status of a network between the terminals200, and/or a density of the terminals 200 within the sensing range,and/or any other factor that makes it impossible or impractical for thesensing range to be the sensing range specified in the sensing rangeinformation.

In operation 522, the cloud server 400 builds a dissemination tree foreach of the terminals 200 within the sensing range using the locationinformation of the sensors 100 and the terminals 200 that are under thecontrol of the cloud server 400 that was acquired by the cloud server400. The cloud server 400 performs a BFS on each of the terminals 200within the sensing range to build a corresponding dissemination tree foreach of the terminals 200 to minimize a number of hops to each of thesensors 100.

The operation 522 may also include selecting some terminals 200 forwhich a dissemination tree is to be built from all terminals 200 withinthe sensing range in accordance with a predefined criterion. Thepredefined criterion may include any one or any combination of a purposeof avoiding an exclusive use of mobile terminal resources, a status of anetwork between the terminals 200, and a density of the terminals 200within the sensing range.

The corresponding dissemination trees built for the terminals 200 aretransmitted to the first terminal 200 and the one or more secondterminals 200 in operation 523 to enable the terminals 200 to acquiresensing data from one or more sensors on the corresponding disseminationtrees.

Operations performed by the second terminal 200 will now be describedwith reference to FIG. 5 in conjunction with FIG. 2.

The second terminal 200 receives a corresponding dissemination tree fromthe cloud server in operation 531. The dissemination tree includesinformation about the first terminal 200 that requested sensor data. Thesecond terminal 200 acquires sensor data from one or more sensors 100 onthe dissemination tree in operation 532. Finally, in operation 533, thesecond terminal 200 transmits the acquired sensor data through the AP300 to the first terminal 200 that requested the sensor data.

FIG. 6 is a flowchart illustrating in detail an example of a method ofbuilding a dissemination tree. Operations of the cloud server 400 forbuilding a dissemination tree will be described in detail with referenceto FIG. 6.

In operation 610, a graph for each of the terminals 200 within thesensing range that connects that terminal 200 with all of the sensors100 that are able to communicate with that terminal 200, either directly(a one-hop connection) or indirectly via one or more other sensors 100(a multi-hop connection), is constructed.

Then, in operation 620, it is determined whether some of the terminals200 within the sensing range are to be selected by determining whether apredefined criterion is satisfied. If the predetermined criterion issatisfied, some of the terminals 200 within the sensing range will beselected and corresponding dissemination trees will be built for theselected terminals 200. If the predetermined criterion is not satisfied,corresponding dissemination trees will be built for all of the terminals200 within the sensing range. The predefined criterion may include anyone or any combination of a purpose of avoiding an exclusive use ofmobile terminal resources, a status of a network between the terminals200, and a density of the terminals 200 within the sensing range.

To select some of the terminals 200 if the predefined criterion issatisfied, a minimum number of hops from each of the terminals 200within the sensing range to each of the sensors 100 is calculated inoperation 630.

In operation 640, the minimum numbers of hops from each of the terminals200 within the sensing range to all of the sensors 100 are addedtogether for each of the terminals 200 to obtain a total number of hopsfor each of the terminals 200. For example, if there are 5 sensors andthe minimum numbers of hops from a particular terminal 200 to the 5sensors are 1, 2, 1, 3, and 2, the total number of hops for thatparticular terminal 200 is 1+2+1+3+2=9.

Then, based on the total numbers of hops for all of the terminals 200within the sensing range, some of the terminals 200 within the sensingrange are selected from all of the terminals 200 within the sensingrange in operation 650. The selection may be made, for example, bysorting all of the terminals 200 within the sensing range according tothe total numbers of hops, and a predetermined number of the terminals200 having the smallest total numbers of hops are selected from all ofthe terminals 200 to improve a data dissemination speed. The processthen proceeds to operation 660.

If the predefined criterion is not satisfied, the operations 630 through650 are omitted, and the process proceeds directly to operation 660.

In operation 660, a BFS is performed for each of the selected terminals200 within the sensing range if some terminals 200 were selected inoperation 650, or for each of all of the terminals 200 within thesensing range if the operations 630 to 650 were omitted, to calculate anumber of hops from each of the terminals 200 within the sensing rangefor which the BFS is performed to each of the sensors 100.

Then, an ID of one of the terminals 200 for which the BFS was performedhaving a minimum number of hops to a particular sensor 100 and thenumber of hops from that terminal 200 to the particular sensor 100 arerecorded in the particular sensor 100 in operation 670.

Then, in operation 680, a path from each of the sensors 100 to theterminal 200 whose ID is recorded in the sensor is created to build acorresponding dissemination for each of the terminals 200 for which theBFS was performed. For each of the terminals 200 for which the BFS wasperformed, the paths are created starting with the sensor or sensorshaving the maximum number of hops for the terminal 200 and ending withthe sensor or sensors having the minimum number of hops for the terminal200.

As a non-exhaustive illustration only, a terminal described herein maybe a mobile device, such as a cellular phone, a personal digitalassistant (PDA), a portable laptop PC, a tablet, a sensor, or any othermobile device known to one of ordinary skill in the art that is capableof wireless communication and/or network communication.

The sensor 100, the sensor 200, the cloud link unit 210, the sensor link220, the sensor data transmitting and receiving unit 230, the terminallink unit 410, the dissemination tree building unit 420, the locationinformation acquisition unit 430, the terminal selecting unit 440, andthe policy setting unit 450 described above may be implemented using oneor more hardware components, one or more software components, or acombination of one or more hardware components and one or more softwarecomponents.

A hardware component may be, for example, a physical device thatphysically performs one or more operations, but is not limited thereto.Examples of hardware components include amplifiers, low-pass filters,high-pass filters, band-pass filters, analog-to-digital converters,digital-to-analog converters, and processing devices.

A software component may be implemented, for example, by a processingdevice controlled by software or instructions to perform one or moreoperations, but is not limited thereto. A computer, controller, or othercontrol device may cause the processing device to run the software orexecute the instructions. One software component may be implemented byone processing device, or two or more software components may beimplemented by one processing device, or one software component may beimplemented by two or more processing devices, or two or more softwarecomponents may be implemented by two or more processing devices.

A processing device may be implemented using one or more general-purposeor special-purpose computers, such as, for example, a processor, acontroller and an arithmetic logic unit, a digital signal processor, amicrocomputer, a field-programmable array, a programmable logic unit, amicroprocessor, or any other device capable of running software orexecuting instructions. The processing device may run an operatingsystem (OS), and may run one or more software applications that operateunder the OS. The processing device may access, store, manipulate,process, and create data when running the software or executing theinstructions. For simplicity, the singular term “processing device” maybe used in the description, but one of ordinary skill in the art willappreciate that a processing device may include multiple processingelements and multiple types of processing elements. For example, aprocessing device may include one or more processors, or one or moreprocessors and one or more controllers. In addition, differentprocessing configurations are possible, such as parallel processors ormulti-core processors.

A processing device configured to implement a software component toperform an operation A may include a processor programmed to runsoftware or execute instructions to control the processor to performoperation A. In addition, a processing device configured to implement asoftware component to perform an operation A, an operation B, and anoperation C may have various configurations, such as, for example, aprocessor configured to implement a software component to performoperations A, B, and C; a first processor configured to implement asoftware component to perform operation A, and a second processorconfigured to implement a software component to perform operations B andC; a first processor configured to implement a software component toperform operations A and B, and a second processor configured toimplement a software component to perform operation C; a first processorconfigured to implement a software component to perform operation A, asecond processor configured to implement a software component to performoperation B, and a third processor configured to implement a softwarecomponent to perform operation C; a first processor configured toimplement a software component to perform operations A, B, and C, and asecond processor configured to implement a software component to performoperations A, B, and C, or any other configuration of one or moreprocessors each implementing one or more of operations A, B, and C.Although these examples refer to three operations A, B, C, the number ofoperations that may implemented is not limited to three, but may be anynumber of operations required to achieve a desired result or perform adesired task.

Software or instructions for controlling a processing device toimplement a software component may include a computer program, a pieceof code, an instruction, or some combination thereof, for independentlyor collectively instructing or configuring the processing device toperform one or more desired operations. The software or instructions mayinclude machine code that may be directly executed by the processingdevice, such as machine code produced by a compiler, and/or higher-levelcode that may be executed by the processing device using an interpreter.The software or instructions and any associated data, data files, anddata structures may be embodied permanently or temporarily in any typeof machine, component, physical or virtual equipment, computer storagemedium or device, or a propagated signal wave capable of providinginstructions or data to or being interpreted by the processing device.The software or instructions and any associated data, data files, anddata structures also may be distributed over network-coupled computersystems so that the software or instructions and any associated data,data files, and data structures are stored and executed in a distributedfashion.

For example, the software or instructions and any associated data, datafiles, and data structures may be recorded, stored, or fixed in one ormore non-transitory computer-readable storage media. A non-transitorycomputer-readable storage medium may be any data storage device that iscapable of storing the software or instructions and any associated data,data files, and data structures so that they can be read by a computersystem or processing device. Examples of a non-transitorycomputer-readable storage medium include read-only memory (ROM),random-access memory (RAM), flash memory, CD-ROMs, CD-Rs, CD+Rs, CD-RWs,CD+RWs, DVD-ROMs, DVD-Rs, DVD+Rs, DVD-RWs, DVD+RWs, DVD-RAMs, BD-ROMs,BD-Rs, BD-R LTHs, BD-REs, magnetic tapes, floppy disks, magneto-opticaldata storage devices, optical data storage devices, hard disks,solid-state disks, or any other non-transitory computer-readable storagemedium known to one of ordinary skill in the art.

Functional programs, codes, and code segments for implementing theexamples disclosed herein can be easily constructed by a programmerskilled in the art to which the examples pertain based on the drawingsand their corresponding descriptions as provided herein.

While this disclosure includes specific examples, it will be apparent toone of ordinary skill in the art that various changes in form anddetails may be made in these examples without departing from the spiritand scope of the claims and their equivalents. The examples describedherein are to be considered in a descriptive sense only, and not forpurposes of limitation. Descriptions of features or aspects in eachexample are to be considered as being applicable to similar features oraspects in other examples. Suitable results may be achieved if thedescribed techniques are performed in a different order, and/or ifcomponents in a described system, architecture, device, or circuit arecombined in a different manner and/or replaced or supplemented by othercomponents or their equivalents. Therefore, the scope of the disclosureis defined not by the detailed description, but by the claims and theirequivalents, and all variations within the scope of the claims and theirequivalents are to be construed as being included in the disclosure.

What is claimed is:
 1. A cloud-based sensor data acquisition systemcomprising: a memory configured to store instructions to be executed bya processor; one or more sensors configured to acquire sensor data; afirst terminal comprising a processor and configured to transmit sensordata request information to a cloud server through an access point (AP);and one or more second terminals, each comprising a processor andconfigured to: acquire sensor data from one or more sensors on acorresponding dissemination tree received from the cloud server; andtransmit the acquired sensor data to the first terminal through the AP;wherein the cloud server is configured to, in response to receiving thesensor data request information from the first terminal: select, the oneor more second terminals from all second terminals within a sensingrange for which corresponding dissemination trees are to be built inaccordance with a predefined criterion; build a correspondingdissemination tree comprising a path from a source node to the selectedone or more second terminals for each of the selected one or more secondterminals within the sensing range; and transmit the correspondingdissemination tree to each of the one or more second terminals withinthe sensing range.
 2. The cloud-based sensor data acquisition system ofclaim 1, wherein sensing range information about the sensing range isincluded in the sensor data request information, or is previously set inthe cloud server.
 3. The cloud-based sensor data acquisition system ofclaim 1, wherein the cloud server is further configured to build thecorresponding dissemination tree for each of the one or more secondterminals within the sensing range by performing a breadth-first search(BFS) for each of the one or more second terminals within the sensingrange to minimize a number of hops to each of a plurality of sensors. 4.The cloud-based sensor data acquisition system of claim 1, wherein thepredefined criterion comprises any one or any combination of a purposeof avoiding an exclusive use of mobile terminal resources, a status of anetwork between the first terminal and the second terminals, and adensity of the first terminal and the second terminals within thesensing range.
 5. A cloud server comprising: a memory configured tostore instructions to be executed by a processor; a terminal selectingunit configured to select one or more second terminals within a sensingrange for which corresponding dissemination trees are to be built fromall second terminals within the sensing range in accordance with apredefined criterion; a dissemination tree building processor configuredto build a corresponding dissemination tree comprising a path fromsource node to the selected one or more second terminals for each of theone or more second terminals within the sensing range in response tosensor data request information received from a first terminal; and aterminal link processor configured to: receive the sensor data requestinformation from the first terminal; and transmit the correspondingdissemination tree built by the dissemination tree building unit to eachof the one or more second terminals within the sending range.
 6. Thecloud server of claim 5, wherein sensing range information about thesensing range is included in the sensor data request information, or ispreviously set in the cloud server.
 7. The cloud server of claim 5,wherein the predefined criterion comprises any one or any combination ofa purpose of avoiding an exclusive use of mobile terminal resources, astatus of a network between the first terminal and the second terminals,and a density of the first terminal and the second terminals within thesensing range.
 8. A first terminal comprising: a memory configured tostore instructions to be executed by a processor; a cloud link processorconfigured to transmit sensor data request information to a cloud serverthrough an access point (AP) or to receive a dissemination treecomprising a path from source node to the one or more first terminalsfrom a cloud server; and a sensor data transmitter and receiverconfigured to receive sensor data through the AP from one or more firstterminals each configured to receive a corresponding dissemination treecomprising a path from a source node to the one or more first terminalsfrom the cloud server and acquire sensor data from one or more sensorson the corresponding dissemination tree, or to transmit acquired sensordata through the AP to a second terminal configured to request theacquired sensor data, wherein the dissemination tree is builtcorresponding to the one or more first terminals selected from all firstterminals within a sensing range by the cloud server in accordance witha predefined criterion.
 9. The first terminal of claim 8, wherein thecloud link unit is further configured to receive a dissemination treefrom the cloud server; and the first terminal further comprises a sensorlink unit configured to acquire the sensor data from one or more sensorson the dissemination tree received by the cloud link unit.
 10. Acloud-based sensor data acquisition method comprising: receiving, in acloud server, sensor data request information from a first terminal;selecting, in the cloud server, one or more second terminals within asensing range for which corresponding dissemination trees are to bebuilt from all second terminals within the sensing range in accordancewith a predefined criterion, wherein each dissemination tree comprises apath from a source node to the selected one or more second terminals;building, in the cloud server, a corresponding dissemination treecomprising the path from the source node to the selected one or moresecond terminals for each of the one or more second terminals within asensing range; and transmitting, in the cloud server, the correspondingdissemination tree to each of the one or more second terminals withinthe sensing range.
 11. The cloud-based sensor data acquisition method ofclaim 10, wherein sensing range information about the sensing range isincluded in the sensor data request information or is previously set inthe cloud server.
 12. The cloud-based sensor data acquisition method ofclaim 10, wherein the building of the dissemination tree comprisesbuilding the dissemination tree by performing a breadth-first search(BFS) for each of the one or more second terminals within the sensingrange to minimize a number of hops to each of a plurality of sensors.13. The cloud-based sensor data acquisition method of claim 10, whereinthe predefined criterion comprises any one or any combination of apurpose of avoiding the exclusive use of mobile terminal resources, astatus of a network between the first terminal and the second terminals,and a density of the first terminal and the second terminals within thesensing range.
 14. A cloud-based sensor data acquisition methodcomprising: transmitting, in a first terminal, sensor data requestinformation to a cloud server through an access point (AP); andreceiving, in the first terminal, through the AP, sensor data acquiredby one or more second terminals from one or more sensors on acorresponding dissemination tree comprising a path from a source node tothe one or more second terminals that each of the one or more secondterminals has received from the cloud server, wherein the disseminationtree is built corresponding to the one or more second terminals selectedfrom all second terminals within a sensing range by the cloud server inaccordance with a predefined criterion.
 15. The cloud-based sensor dataacquisition method of claim 14, further comprising: receiving, in thefirst terminal, a dissemination tree from the cloud server; andacquiring, in the first terminal, sensor data from one or more sensorson the dissemination tree received in the first terminal.
 16. Acloud-based sensor data acquisition method comprising: receiving, ineach of one or more second terminals, a corresponding dissemination treefrom a cloud server; acquiring, in each of the one or more secondterminals, sensor data from one or more sensors on the correspondingdissemination tree comprising a path from a source node to the one ormore second terminals; and transmitting, in each of the one or moresecond terminals, the acquired sensor data through an access point (AP)to a first terminal that has requested the acquired sensor data, whereinthe dissemination tree is built corresponding to the one or more secondterminals selected from all second terminals within a sensing range bythe cloud server in accordance with a predefined criterion.